package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.Engineer;
import com.shrcl.engineerprocess.domain.impl.CorpWeChatUserImpl;
import com.shrcl.engineerprocess.domain.proxy.CorpWeChatUserProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import java.util.Date;

@EntityImplementation(implementBy = CorpWeChatUserImpl.class)
public interface CorpWeChatUser extends IModelObject {
  public abstract Engineer getEngineer();
  
  public abstract CorpWeChatUser setEngineer(final Engineer engineer);
  
  public abstract String getWechatid();
  
  public abstract CorpWeChatUser setWechatid(final String wechatid);
  
  public abstract String getWechatuserid();
  
  public abstract CorpWeChatUser setWechatuserid(final String wechatuserid);
  
  public abstract String getName();
  
  public abstract CorpWeChatUser setName(final String name);
  
  public abstract Date getRegisterDate();
  
  public abstract CorpWeChatUser setRegisterDate(final Date registerDate);
  
  public abstract Boolean getExcluded();
  
  public abstract CorpWeChatUser setExcluded(final Boolean excluded);
  
  public abstract String updateName();
  
  public abstract void sendMessage(final String subject, final String body);
  
  public abstract void checkValid();
  
  public abstract CorpWeChatUserProxy toProxy();
}
